Configuration d'un serveur Debian

Posted by pulkomandy on Fri Jun 26 17:13:53 2009  •  Comments (1)  • 

Dans cet article, je vais détailler un peu la configuration de ce serveur. Le but était d'utiliser une machine peu puissante, mais peu bruyante et consommant peu d'électricité. Je considère que ce n'est pas terminé, donc, faites moi part de vos idées et de vos astuces pour l'améliorer.

Bien configurer le BIOS

Tout commence par là. J'ai désactivé dans le BIOS tous les périphériques inutiles. Cela permet d'économiser un peu d'électricité grâce à la gestion ACPI, et ça permet aussi d'éviter de charger des modules noyau inutiles, donc on récupère un peu de RAM. On enlève donc les lecteurs de disquettes et de CDrom (les alimentations sont débranchées), mais aussi les port séries et parallèle.

D'autre part, le mode de gestion d'énergie ACPI dans le bios est "économie maximale". Le processeur tourne lentement et chauffe moins, le disque dur est mis en veille au bout de 2 minutes

On gagne: de la mémoire et de l'électricité

On perd: la posibilité de brancher un terminal VT100 et de démarrer sur une disquette. Rien d'utile. On perd un peu en temps de réponse avec le disque dur en veille.

Les réglages de Debian

Il est également importnat de bien configurer Debian. Les deux modifications que j'ai fait sont le déplacement de /var/log et de /tmp dans des ramdisks afin d'éviter des accès inutiles au disque dur, et la desactivation de getty dans /etc/inittab. En effet getty occupe 6 fois 500Ko, et la mémoire vive est précieuse.

La mémoire vive libérée est utilisée par Linux comme cache disque. Mon système occupe moins de 16Mo de mémoire, il reste donc beaucoup de place pour ce cache. Cela permet d'avoir la plupart des pages de mon site dedans, ce qui fait qu'il est très rare que le disque dur soit réveillé lorsqu'un visiteur vient sur le site.

J'ai également monté tous mes disques avec l'option noatime, ce qui évite d'avoir à faire une écriture sur le disque à chaque lecture qui pourrait rester dans le cache.

On gagne: De la mémoire et du silence

On perd: La possibilité de brancher un écran sur la carte vga et un clavier ps/2 pour accéder à un prompt. Pensez à configurer openssh avant.

Les logiciels

lighttpd pour le web, vsftpd pour le ftp et openssh. On évite Apache et proftpd qui sont beaucoup trop gros sans apporter grand chose d'utile.

La gestion des pages est faite à l'aide de scripts perl mais sans base de données SQL. J'utilise des fichiers et des dossiers, les utilisateurs UNIX et les dates de modifications. Ça allège beaucoup le serveur et ça ne limite pas forcément les possibilités.

On gagne: De la mémoire et de la réactivité, et de la sécurité (pas d'injections SQL)

On perd: Le confort de php/MySQL, un peu de souplesse

Trucs qui restent à faire

  • Recompiler le noyau en enlevant tous les trucs inutiles devrait permettre d'alléger encore le système.
  • Configurer lighttpd pour utiliser perl en fastcgi pour gagner encore en vitesse de réponse.
  • Mettre en place une authentification http utilisant directement les utilisateurs unix pour éviter d'avoir à gérer deux listes de logins.

Leave a comment

Name: Mail: